plat: marvell: invoke platform specific scp_bl2 image handler
authorGrzegorz Jaszczyk <[email protected]>
Thu, 4 Oct 2018 07:44:56 +0000 (09:44 +0200)
committerKonstantin Porotchkin <[email protected]>
Sun, 7 Oct 2018 09:26:27 +0000 (12:26 +0300)
Before switching to new API the scp_bl2 handler was invoked from
bl2/bl2_image_load.c which was removed. Invoke the platform specific
scp_bl2 handler in analogy to ARM and HiSilicon.

Signed-off-by: Grzegorz Jaszczyk <[email protected]>
include/plat/marvell/a8k/common/plat_marvell.h
plat/marvell/common/marvell_bl2_setup.c

index a62a7cb0899168b740caa6aa385584f9f8418492..2aecd3f50563af1c52a968448b096c77f7e8952d 100644 (file)
@@ -125,4 +125,6 @@ void marvell_ble_prepare_exit(void);
 void marvell_exit_bootrom(uintptr_t base);
 
 int plat_marvell_early_cpu_powerdown(void);
+int bl2_plat_handle_scp_bl2(image_info_t *scp_bl2_image_info);
+
 #endif /* __PLAT_MARVELL_H__ */
index f7149c396a097ea1c405a978796abfb82f6c0cea..d33aba477e974b23076abe34c56101c15502e104 100644 (file)
@@ -105,7 +105,15 @@ int marvell_bl2_handle_post_image_load(unsigned int image_id)
                bl_mem_params->ep_info.args.arg0 = 0xffff & read_mpidr();
                bl_mem_params->ep_info.spsr = marvell_get_spsr_for_bl33_entry();
                break;
-
+#ifdef SCP_BL2_BASE
+       case SCP_BL2_IMAGE_ID:
+               /* The subsequent handling of SCP_BL2 is platform specific */
+               err = bl2_plat_handle_scp_bl2(&bl_mem_params->image_info);
+               if (err) {
+                       WARN("Failure in platform-specific handling of SCP_BL2 image.\n");
+               }
+               break;
+#endif
        default:
                /* Do nothing in default case */
                break;